Semiconductor memory is widely used in various electronic devices such as cellular telephones, digital cameras, personal digital assistants, medical electronics, mobile computing devices, servers, solid state drives, non-mobile computing devices and other devices. Semiconductor memory may comprise non-volatile memory or volatile memory. A non-volatile memory allows information to be stored and retained even when the non-volatile memory is not connected to a source of power (e.g., a battery). Examples of non-volatile memory include flash memory (e.g., NAND-type and NOR-type flash memory).
An erase operation of non-volatile memory cells, such as NAND cells, may involve applying erase conditions, which are intended to lower the threshold voltage of the memory cells. The actual erase conditions may vary depending on the architecture and erase technique. After applying the erase conditions, an erase verify may be performed to determine whether a sufficient number of the memory cells have had their threshold voltage lowered to an erase verify reference voltage. Typically, it is not required for all memory cells in the group to have their threshold voltage drop below the erase verify reference voltage, with the error procedure overall still passing. The erase conditions may be applied again if more than a permitted number of memory cells have a threshold voltage above the erase verify reference voltage. This may be followed by another erase verify.
Herein, this failure of a memory cell or string of memory cells to pass an erase criterion is referred to as an “erase fail bit” or more simply “fail bit.” Despite having at least one fail bit at the end of the erase operation, data can still be programmed into the group. Moreover, the data can be read back successfully by use of an error correction algorithm.